package com.jrx.anytxn.customer.dto.customer;

import com.jrx.anytxn.common.constant.RegexConstant;
import com.jrx.anytxn.customer.dto.BaseApiReq;
import io.swagger.annotations.ApiModelProperty;

import javax.validation.Valid;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Pattern;
import java.io.Serializable;
import java.util.List;

/**
 * @ClassName CustomerRegisReq
 * @Description: 客户注册信息
 * @Author liy
 * @Date 2019/7/19
 * @Version V1.0
 **/
public class CustomerReq extends BaseApiReq implements Serializable {

    @NotBlank(message = "姓名不能为空")
    @ApiModelProperty(value="姓名")
    private String chineseName;

    @NotBlank(message = "证件号不能为空")
    @Pattern(regexp = RegexConstant.ID_NO, message = "身份证号码格式不正确")
    @ApiModelProperty(value="证件号码")
    private String idNumber;

    @NotBlank(message = "证件类型不能为空")
    @ApiModelProperty(value="证件类型")
    private String idType;

    @NotBlank(message = "手机号不能为空")
    @Pattern(regexp = RegexConstant.MOBILE_FORMAT, message = "手机号格式不对，请正确输入")
    @ApiModelProperty(value="手机号")
    private String mobile;

    @NotBlank(message = "发证机关不能为空")
    @ApiModelProperty(value="发证机关")
    private String idIssueAgent;

    @NotBlank(message = "证件有效期起始日期不能为空")
    @Pattern(regexp = RegexConstant.DATA_FORMAT, message = "日期格式不对，请正确输入yyyy-MM-dd")
    @ApiModelProperty(value="证件有效期起始日期")
    private String idEffectiveDate;

    @NotBlank(message = "证件有效期终止日期不能为空")
    @ApiModelProperty(value="证件有效期终止日期")
    private String idExpireDate;

    @ApiModelProperty(value="出生日期")
    @Pattern(regexp = RegexConstant.DATA_FORMAT, message = "日期格式不对，请正确输入yyyy-MM-dd")
    private String birthDate;

    @ApiModelProperty(value="国家")
    private String nationality;

    @ApiModelProperty(value="民族")
    private String race;

    @ApiModelProperty(value="性别")
    private String sex;

    @ApiModelProperty(value="家庭电话")
    private String homePhone;

    @ApiModelProperty(value="公司名称")
    private String companyName;

    @ApiModelProperty(value="公司性质")
    private String companyAttribute;

    @ApiModelProperty(value="公司电话")
    private String companyPhone;

    @ApiModelProperty(value="客群标志")
    private String customerGroup;

    @ApiModelProperty(value="婚姻状态")
    private String maritalStatus;

    @ApiModelProperty(value="学历")
    private String education;

    @ApiModelProperty(value="职业类型")
    private String occuptionType;

    @ApiModelProperty(value="子渠道号")
    private String subChannel;

    @Valid
    @ApiModelProperty(value="地址信息列表")
    private List<AddressInfoReq> addressInfoList;

    @Valid
    @ApiModelProperty(value="联系人信息列表")
    private List<ContactInfoReq> contactInfoList;

    @ApiModelProperty(value="推荐人编码")
    private String recommenderCode;

    @ApiModelProperty(value="居住状况")
    private String familyStatus;

    @ApiModelProperty(value="职务")
    private String position;

    @ApiModelProperty(value="单位所属行业")
    private String industry;

    public String getChineseName() {
        return chineseName;
    }

    public void setChineseName(String chineseName) {
        this.chineseName = chineseName;
    }

    public String getIdNumber() {
        return idNumber;
    }

    public void setIdNumber(String idNumber) {
        this.idNumber = idNumber;
    }

    public String getIdType() {
        return idType;
    }

    public void setIdType(String idType) {
        this.idType = idType;
    }

    public String getMobile() {
        return mobile;
    }

    public void setMobile(String mobile) {
        this.mobile = mobile;
    }

    public String getIdIssueAgent() {
        return idIssueAgent;
    }

    public void setIdIssueAgent(String idIssueAgent) {
        this.idIssueAgent = idIssueAgent;
    }

    public String getIdEffectiveDate() {
        return idEffectiveDate;
    }

    public void setIdEffectiveDate(String idEffectiveDate) {
        this.idEffectiveDate = idEffectiveDate;
    }

    public String getIdExpireDate() {
        return idExpireDate;
    }

    public void setIdExpireDate(String idExpireDate) {
        this.idExpireDate = idExpireDate;
    }

    public String getBirthDate() {
        return birthDate;
    }

    public void setBirthDate(String birthDate) {
        this.birthDate = birthDate;
    }

    public String getNationality() {
        return nationality;
    }

    public void setNationality(String nationality) {
        this.nationality = nationality;
    }

    public String getRace() {
        return race;
    }

    public void setRace(String race) {
        this.race = race;
    }

    public String getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }

    public String getHomePhone() {
        return homePhone;
    }

    public void setHomePhone(String homePhone) {
        this.homePhone = homePhone;
    }

    public String getCompanyName() {
        return companyName;
    }

    public void setCompanyName(String companyName) {
        this.companyName = companyName;
    }

    public String getCompanyAttribute() {
        return companyAttribute;
    }

    public void setCompanyAttribute(String companyAttribute) {
        this.companyAttribute = companyAttribute;
    }

    public String getCompanyPhone() {
        return companyPhone;
    }

    public void setCompanyPhone(String companyPhone) {
        this.companyPhone = companyPhone;
    }

    public String getCustomerGroup() {
        return customerGroup;
    }

    public void setCustomerGroup(String customerGroup) {
        this.customerGroup = customerGroup;
    }

    public List<AddressInfoReq> getAddressInfoList() {
        return addressInfoList;
    }

    public void setAddressInfoList(List<AddressInfoReq> addressInfoList) {
        this.addressInfoList = addressInfoList;
    }

    public List<ContactInfoReq> getContactInfoList() {
        return contactInfoList;
    }

    public void setContactInfoList(List<ContactInfoReq> contactInfoList) {
        this.contactInfoList = contactInfoList;
    }

    public String getMaritalStatus() {
        return maritalStatus;
    }

    public void setMaritalStatus(String maritalStatus) {
        this.maritalStatus = maritalStatus;
    }

    public String getEducation() {
        return education;
    }

    public void setEducation(String education) {
        this.education = education;
    }

    public String getOccuptionType() {
        return occuptionType;
    }

    public void setOccuptionType(String occuptionType) {
        this.occuptionType = occuptionType;
    }

    public String getRecommenderCode()
    {
        return recommenderCode;
    }

    public void setRecommenderCode(String recommenderCode)
    {
        this.recommenderCode = recommenderCode;
    }

    public String getSubChannel() {
        return subChannel;
    }

    public void setSubChannel(String subChannel) {
        this.subChannel = subChannel;
    }

    public String getFamilyStatus() {
        return familyStatus;
    }

    public void setFamilyStatus(String familyStatus) {
        this.familyStatus = familyStatus;
    }

    public String getPosition() {
        return position;
    }

    public void setPosition(String position) {
        this.position = position;
    }

    public String getIndustry() {
        return industry;
    }

    public void setIndustry(String industry) {
        this.industry = industry;
    }
}
